// 路由模块

// 1.导入
const express = require("express");
//1.1创建路由对象
const router = express.Router();

// 4.导入逻辑处理
const userHandler = require("../router_handler/user");

// 5. 导入验证表单数据的中间件
const expressJoi = require("@escook/express-joi");
// 5.1导入需要的验证规则对象
const { reg_login_schema } = require("../schema/user");

// 2.注册新用户
// 注册新用户
// 5.3. 在注册新用户的路由中，声明局部中间件，对当前请求中携带的数据进行验证
// 5.4 数据验证通过后，会把这次请求流转给后面的路由处理函数
// 5.5 数据验证失败后，终止后续代码的执行，并抛出一个全局的 Error 错误，进入全局错误级别中间件中进行处理
// 在 index.js 的全局错误级别中间件中，捕获验证失败的错误，并把验证失败的结果响应给客户端：
router.post("/reguser", expressJoi(reg_login_schema), userHandler.regUser);

// 3.登录
router.post("/login", expressJoi(reg_login_schema), userHandler.login);

// 1.3暴漏
module.exports = router;
